// pages/home/home.js
const db = wx.cloud.database()
const A9 = db.collection('2009A')

Page({
    editData() {
        const data = {
            sex: this.data.editSex,
            name: this.data.editName,
            age: this.data.editAge,
        }
        // 更新云数据库
        A9.doc(this.data.id).update({
            data,
            complete: () => {
                this.setData({
                    isHidden: true
                })
            }
        })


    },
    closeDialog() {
        this.setData({
            isHidden: true
        })
    },
    openDialog(e) {
        const item = e.target.dataset.item;

        this.setData({
            isHidden: false,
            editName: item.name,
            editAge: item.age,
            editSex: item.sex,
            id: item._id
        })
    },
    deleteData(e) {
        const item = e.target.dataset.item
        // 删除数据库数据
        A9.doc(item._id).remove({
            success: resp => {
                console.log('删除成功')
            },
            fail: error => {
                console.log('删除失败', error)
            }
        })

    },
    async addData() {
        const {
            name,
            sex,
            age
        } = this.data
        const data = {
            name,
            sex,
            age
        }
        // 添加云数据库
        await A9.add({
            data,
        })
    },
    async getList() {
        const resp = await A9.get();

        this.setData({
            list: resp.data
        })
    },
    async watchList() {
        const watcher = A9.where({}).watch({
            // 监听数据改变
            onChange: (snapshot) => {
                console.log('监听数据改变')
                this.setData({
                    list: snapshot.docs
                })
            },
            onError(error) {
                console.log('监听报错了！！')
                console.log(error)

            }
        })
    },
    /**
     * 页面的初始数据
     */
    data: {
        list: [],
        name: '',
        sex: '',
        age: '',
        // 是否隐藏弹框
        isHidden: true,
        editName: '',
        editAge: '',
        editSex: '',
        id: ''
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getList()
        this.watchList()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})